Język SQL. Przyjazny podręcznik, wydanie III
Larry Rockoff


Skrypt instalacyjny Microsoft SQL Server.


--------------------------
JAK KORZYSTAĆ Z TEGO PLIKU
--------------------------

Ten skrypt instalacyjny umożliwia utworzenie tabel z danymi potrzebnymi do wykonania zapytań opisanych w tej książce. Skrypt zawiera instrukcje CREATE TABLE służące do tworzenia tabel oraz instrukcje INSERT, które umożliwiają wstawienie danych do tych tabel. Instrukcje DROP TABLE służą do usuwania danej tabeli, jeśli już istniała. Przed wykonaniem skryptów należy utworzyć bazę danych. Po utworzeniu bazy wklej poniższy skrypt do okna zapytań w SQL Management Studio i wykonaj go.

Najpierw należy zainstalować dwa komponenty:

1. Microsoft SQL Server 2019 Express
2. Microsoft SQL Server Management Studio 18

W dodatku A książki "Język SQL. Przyjazny podręcznik. Wydanie III" znajdziesz wskazówki dotyczące instalowania tych komponentów i tworzenia bazy danych.


-------------------
SKRYPT INSTALACYJNY
-------------------


----------------------------------------
-- Tabela Aktorzy
-- Do tej tabeli odwołuje się rozdział 6
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Aktorzy')
AND TYPE IN (N'U'))
DROP TABLE Aktorzy
GO

CREATE TABLE Aktorzy
(IDaktora INT NOT NULL,
Imię VARCHAR(30) NULL,
Nazwisko VARCHAR(30) NULL)

INSERT INTO Aktorzy (IDaktora, Imię, Nazwisko)
VALUES (1, 'Cary', 'Grant')

INSERT INTO Aktorzy (IDaktora, Imię, Nazwisko)
VALUES (2, 'Mary', 'Steenburgen')

INSERT INTO Aktorzy (IDaktora, Imię, Nazwisko)
VALUES (3, 'Jon', 'Voight')

INSERT INTO Aktorzy (IDaktora, Imię, Nazwisko)
VALUES (4, 'Dustin', 'Hoffman')

INSERT INTO Aktorzy (IDaktora, Imię, Nazwisko)
VALUES (5, 'John', 'Cusack')

INSERT INTO Aktorzy (IDaktora, Imię, Nazwisko)
VALUES (6, 'Gary', 'Cooper')


----------------------------------------
-- Tabela Książki
-- Do tej tabeli odwołuje się rozdział 6
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Książki')
AND TYPE IN (N'U'))
DROP TABLE Książki
GO

CREATE TABLE Książki
(IDKsiążki INT NOT NULL,
Tytuł VARCHAR(30) NULL,
Autor VARCHAR (30) NULL,
SprzedażWBieżącymMiesiącu INT NULL)

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (1, 'Duma i uprzedzenie', 'Austen', 15)

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (2, 'Folwark zwierzęcy', 'Orwell', 7)

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (3, 'Kupiec wenecki', 'Szekspir', 5)

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (4, 'Romeo i Julia', 'Szekspir', 8)

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (5, 'Oliver Twist', 'Dickens', 3)

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (6, 'Kandyd', 'Wolter', 9)

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (7, 'Szkarłatna litera', 'Hawthorne', 12)

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (8, 'Hamlet', 'Szekspir', 2)


-----------------------------------------
-- Tabela Kontrahenci
-- Do tej tabeli odwołuje się rozdział 17
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Kontrahenci')
AND TYPE IN (N'U'))
DROP TABLE Kontrahenci
GO

CREATE TABLE Kontrahenci
(IDKontrahenta INT IDENTITY NOT NULL,
ImięKontrahenta VARCHAR(30) NULL,
NazwiskoKontrahenta VARCHAR(30) NULL,
Województwo VARCHAR(10) NULL)

INSERT INTO Kontrahenci (ImięKontrahenta, NazwiskoKontrahenta, Województwo) 
VALUES ('Janusz', 'Bentlewski', 'POM')

INSERT INTO Kontrahenci (ImięKontrahenta, NazwiskoKontrahenta, Województwo) 
VALUES ('Michał', 'Rajewski', 'MAZ')

INSERT INTO Kontrahenci (ImięKontrahenta, NazwiskoKontrahenta, Województwo) 
VALUES ('Emilia', 'Pieczyńska', 'LBU')



-----------------------------------------
-- Tabela KoloryKoszulek
-- Do tej tabeli odwołuje się rozdział 12
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'KoloryKoszulek')
AND TYPE IN (N'U'))
DROP TABLE KoloryKoszulek
GO

CREATE TABLE KoloryKoszulek
(IDKoloru INT NOT NULL,
Kolor VARCHAR(10) NULL)

INSERT INTO KoloryKoszulek (IDKoloru, Kolor) 
VALUES (1, 'Czerwony')

INSERT INTO KoloryKoszulek (IDKoloru, Kolor) 
VALUES (2, 'Niebieski')

INSERT INTO KoloryKoszulek (IDKoloru, Kolor) 
VALUES (3, 'Zielony')

INSERT INTO KoloryKoszulek (IDKoloru, Kolor) 
VALUES (4, 'Żółty')


----------------------------------------
-- Tabela ListaKlientów
-- Do tej tabeli odwołuje się rozdział 8
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'ListaKlientów')
AND TYPE IN (N'U'))
DROP TABLE ListaKlientów
GO

CREATE TABLE ListaKlientów
(IDKlienta INT NOT NULL,
Płeć VARCHAR(5) NULL,
Wiek INT NULL,
Dochód INT NULL)

INSERT INTO ListaKlientów (IDKlienta, Płeć, Wiek, Dochód) 
VALUES (1, 'M', 55, 80000)

INSERT INTO ListaKlientów (IDKlienta, Płeć, Wiek, Dochód) 
VALUES (2, 'K', 25, 65000)

INSERT INTO ListaKlientów (IDKlienta, Płeć, Wiek, Dochód) 
VALUES (3, 'M', 35, 40000)

INSERT INTO ListaKlientów (IDKlienta, Płeć, Wiek, Dochód) 
VALUES (4, 'K', 42, 90000)

INSERT INTO ListaKlientów (IDKlienta, Płeć, Wiek, Dochód) 
VALUES (5, 'K', 27, 25000)


------------------------------------------------------------
-- Tabela Klienci
-- Do tej tabeli odwołuje się rozdziałs 1, 2, 11, 12 oraz 13
------------------------------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Klienci')
AND TYPE IN (N'U'))
DROP TABLE Klienci
GO

CREATE TABLE Klienci
(IDKlienta INT NOT NULL,
ImięKlienta VARCHAR(30) NULL,
NazwiskoKlienta VARCHAR(30) NULL)

INSERT INTO Klienci (IDKlienta, ImięKlienta, NazwiskoKlienta)
VALUES (1, 'Sylwia', 'Dudziak')

INSERT INTO Klienci (IDKlienta, ImięKlienta, NazwiskoKlienta)
VALUES (2, 'Ryszard', 'Wieczorek')

INSERT INTO Klienci (IDKlienta, ImięKlienta, NazwiskoKlienta)
VALUES (3, 'Paweł', 'Janas')

INSERT INTO Klienci (IDKlienta, ImięKlienta, NazwiskoKlienta)
VALUES (4, 'Szymon', 'Majkowski')


----------------------------------------
-- Tabela Opłaty
-- Do tej tabeli odwołuje się rozdział 9
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Opłaty')
AND TYPE IN (N'U'))
DROP TABLE Opłaty
GO

CREATE TABLE Opłaty
(IDOpłaty INT NOT NULL,
Uczeń VARCHAR(30) NULL,
RodzajOpłaty VARCHAR(30) NULL,
Opłata INT NULL)

INSERT INTO Opłaty (IDOpłaty, Uczeń, RodzajOpłaty, Opłata) 
VALUES (1, 'Grzegorz', 'Siłownia', 30)

INSERT INTO Opłaty (IDOpłaty, Uczeń, RodzajOpłaty, Opłata) 
VALUES (2, 'Grzegorz', 'Obiad', 10)

INSERT INTO Opłaty (IDOpłaty, Uczeń, RodzajOpłaty, Opłata) 
VALUES (3, 'Grzegorz', 'Wycieczka', 8)

INSERT INTO Opłaty (IDOpłaty, Uczeń, RodzajOpłaty, Opłata) 
VALUES (4, 'Joanna', 'Siłownia', 30)

INSERT INTO Opłaty (IDOpłaty, Uczeń, RodzajOpłaty, Opłata) 
VALUES (5, 'Julia', 'Obiad', 10)


----------------------------------------
-- Tabela Punktacja
-- Do tej tabeli odwołuje się rozdział 9
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Punktacja')
AND TYPE IN (N'U'))
DROP TABLE Punktacja
GO

CREATE TABLE Punktacja
(IDPunktacji INT NOT NULL,
Uczeń VARCHAR(30) NULL,
OcenianaPraca VARCHAR(30) NULL,
LiczbaPunktów DECIMAL NULL,
LiczbaLatNauki INT NULL)

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (1, 'Izabela', 'Sprawdzian', 92, 7)

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (2, 'Izabela', 'Sprawdzian', 95, 7)

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (3, 'Izabela', 'Praca domowa', 84, 7)

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (4, 'Hanna', 'Sprawdzian', 62, 8)

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (5, 'Hanna', 'Sprawdzian', 81, 8)

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaLatNauki) 
VALUES (6, 'Hanna', 'Praca domowa', 8)

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (7, 'Piotr', 'Sprawdzian', 58, 7)

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (8, 'Piotr', 'Sprawdzian', 74, 7)

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (9, 'Piotr', 'Praca domowa', 88, 7)


---------------------------------------------
-- Tabela ArtykułySpożywcze
-- Do tej tabeli odwołują się rozdziały 8 i 9
---------------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'ArtykułySpożywcze')
AND TYPE IN (N'U'))
DROP TABLE ArtykułySpożywcze
GO

CREATE TABLE ArtykułySpożywcze
(IDArtykułu INT NOT NULL,
KodKategorii VARCHAR(5) NULL,
Opis VARCHAR (30) NULL)

INSERT INTO ArtykułySpożywcze (IDArtykułu, KodKategorii, Opis) 
VALUES (1, 'O', 'Jabłko')

INSERT INTO ArtykułySpożywcze (IDArtykułu, KodKategorii, Opis) 
VALUES (2, 'O', 'Pomarańcza')

INSERT INTO ArtykułySpożywcze (IDArtykułu, KodKategorii, Opis) 
VALUES (3, 'P', 'Musztarda')

INSERT INTO ArtykułySpożywcze (IDArtykułu, KodKategorii, Opis) 
VALUES (4, 'W', 'Marchew')

INSERT INTO ArtykułySpożywcze (IDArtykułu, KodKategorii, Opis) 
VALUES (5, 'N', 'Woda')


----------------------------------------
-- Tabela KategorieArtykułówSpożywczych
-- Do tej tabeli odwołuje się rozdział 8
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'KategorieArtykułówSpożywczych')
AND TYPE IN (N'U'))
DROP TABLE KategorieArtykułówSpożywczych
GO

CREATE TABLE KategorieArtykułówSpożywczych
(IDArtykułu INT NOT NULL,
Owoc VARCHAR(5) NULL,
Warzywo VARCHAR (5) NULL,
Przyprawa VARCHAR (5) NULL,
Napój VARCHAR (5) NULL,
Opis VARCHAR (30) NULL)

INSERT INTO KategorieArtykułówSpożywczych (IDArtykułu, Owoc, Warzywo, Przyprawa, Napój, Opis) 
VALUES (1, 'X', ' ', ' ', ' ', 'Jabłko')

INSERT INTO KategorieArtykułówSpożywczych (IDArtykułu, Owoc, Warzywo, Przyprawa, Napój, Opis) 
VALUES (2, 'X', ' ', ' ', ' ', 'Pomarańcza')

INSERT INTO KategorieArtykułówSpożywczych (IDArtykułu, Owoc, Warzywo, Przyprawa, Napój, Opis) 
VALUES (3, ' ', ' ', 'X', ' ', 'Musztarda')

INSERT INTO KategorieArtykułówSpożywczych (IDArtykułu, Owoc, Warzywo, Przyprawa, Napój, Opis) 
VALUES (4, ' ', 'X', ' ', ' ', 'Marchew')

INSERT INTO KategorieArtykułówSpożywczych (IDArtykułu, Owoc, Warzywo, Przyprawa, Napój, Opis) 
VALUES (5, ' ', ' ', ' ', 'X', 'Woda')


-----------------------------------------
-- Tabela WykazProduktów
-- Do tej tabeli odwołuje się rozdział 10
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'WykazProduktów')
AND TYPE IN (N'U'))
DROP TABLE WykazProduktów
GO

CREATE TABLE WykazProduktów
(IDProduktu INT NOT NULL,
Kategoria VARCHAR(30) NULL,
Podkategoria VARCHAR(30) NULL,
Produkt VARCHAR(30) NULL,
LiczbaSztuk INT NULL)

INSERT INTO WykazProduktów (IDProduktu, Kategoria, Podkategoria, Produkt, LiczbaSztuk) 
VALUES (1, 'Meble', 'Krzesła', 'Fotel prezesowski', 3)

INSERT INTO WykazProduktów (IDProduktu, Kategoria, Podkategoria, Produkt, LiczbaSztuk) 
VALUES (2, 'Meble', 'Krzesła', 'Fotel biurowy', 2)

INSERT INTO WykazProduktów (IDProduktu, Kategoria, Podkategoria, Produkt, LiczbaSztuk) 
VALUES (3, 'Meble', 'Biurka', 'Studenckie biurko komputerowe', 4)

INSERT INTO WykazProduktów (IDProduktu, Kategoria, Podkategoria, Produkt, LiczbaSztuk) 
VALUES (4, 'ArtykułyPapiernicze', 'PapieryDoDrukarki', 'Papier uniwersalny', 5)

INSERT INTO WykazProduktów (IDProduktu, Kategoria, Podkategoria, Produkt, LiczbaSztuk) 
VALUES (5, 'ArtykułyPapiernicze', 'PapieryDoDrukarki', 'Papier do drukarek laserowych', 2)

INSERT INTO WykazProduktów (IDProduktu, Kategoria, Podkategoria, Produkt, LiczbaSztuk) 
VALUES (6, 'ArtykułyPapiernicze', 'Notatniki', 'Zeszyt w linie', 4)


----------------------------------------------
-- Tabela Filmy
-- Do tej tabeli odwołują się rozdziały 6 i 12
----------------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Filmy')
AND TYPE IN (N'U'))
DROP TABLE Filmy
GO

CREATE TABLE Filmy
(IDFilmu INT NOT NULL,
TytułFilmu VARCHAR(35) NULL,
Klasyfikacja VARCHAR(30) NULL)

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (1, 'To właśnie miłość', 'R')

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (2, 'Północ – północny zachód', 'brak kategorii')

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (3, 'Miłość i śmierć', 'PG')

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (4, 'Truman Show', 'PG')

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (5, 'Taka miłość się nie zdarza', 'R')

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (6, 'Do diabła z miłością', 'PG-13')

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (7, 'Gdzie jest Nemo?', 'G')


-----------------------------------------
-- Tabela NowiKontrahenci
-- Do tej tabeli odwołuje się rozdział 17
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'NowiKontrahenci')
AND TYPE IN (N'U'))
DROP TABLE NowiKontrahenci
GO

CREATE TABLE NowiKontrahenci
(Województwo VARCHAR(10) NULL,
Nazwa1 VARCHAR(30) NULL,
Nazwa2 VARCHAR(30) NULL)

INSERT INTO NowiKontrahenci (Województwo, Nazwa1, Nazwa2) 
VALUES ('PKR', 'Robert', 'Hołdys')

INSERT INTO NowiKontrahenci (Województwo, Nazwa1, Nazwa2) 
VALUES ('MAZ', 'Beata', 'Kowalska')

INSERT INTO NowiKontrahenci (Województwo, Nazwa1, Nazwa2) 
VALUES ('PKR', 'Grażyna', 'Mielniczuk')


----------------------------------------
-- Tabela AmerykaPółnocna
-- Do tej tabeli odwołuje się rozdział 8
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'AmerykaPółnocna')
AND TYPE IN (N'U'))
DROP TABLE AmerykaPółnocna
GO

CREATE TABLE AmerykaPółnocna
(IDMiasta INT NOT NULL,
Kraj VARCHAR(6) NULL,
Stan VARCHAR (8) NULL,
Prowincja VARCHAR (7) NULL,
Miasto VARCHAR (30) NULL)

INSERT INTO AmerykaPółnocna (IDMiasta, Kraj, Stan, Prowincja, Miasto) 
VALUES (1, 'USA', 'Vermont', ' ', 'Burlington')

INSERT INTO AmerykaPółnocna (IDMiasta, Kraj, Stan, Prowincja, Miasto) 
VALUES (2, 'Kanada', ' ', 'Quebec', 'Montreal')

INSERT INTO AmerykaPółnocna (IDMiasta, Kraj, Stan, Prowincja, Miasto) 
VALUES (3, 'USA', 'Arizona', ' ', 'Tucson')

INSERT INTO AmerykaPółnocna (IDMiasta, Kraj, Stan, Prowincja, Miasto) 
VALUES (4, 'USA', 'Arizona', ' ', 'Phoenix')

INSERT INTO AmerykaPółnocna (IDMiasta, Kraj, Stan, Prowincja, Miasto) 
VALUES (5, 'Kanada', ' ', 'Alberta', 'Edmonton')


----------------------------------------
-- Tabela Żywność
-- Do tej tabeli odwołuje się rozdział 4
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Żywność')
AND TYPE IN (N'U'))
DROP TABLE Żywność
GO

CREATE TABLE Żywność
(IDProduktu INT NOT NULL,
Produkt VARCHAR(30) NULL,
Kaloryczność INT NULL)

INSERT INTO Żywność (IDProduktu, Produkt)
VALUES (1, 'Mleko o obniżonej zawartości tłuszczu')

INSERT INTO Żywność (IDProduktu, Produkt, Kaloryczność)
VALUES (2, 'Woda', 0)

INSERT INTO Żywność (IDProduktu, Produkt, Kaloryczność)
VALUES (3, 'Mleko odtłuszczone', 90)

INSERT INTO Żywność (IDProduktu, Produkt, Kaloryczność)
VALUES (3, 'Mleko pełnotłuste', 150)


------------------------------------------------------------
-- Tabela Zamówienia
-- Do tej tabeli odwołują się rozdziały 1, 11 12, 13 oraz 15
------------------------------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Zamówienia')
AND TYPE IN (N'U'))
DROP TABLE Zamówienia
GO

CREATE TABLE Zamówienia
(IDZamówienia INT NOT NULL,
IDKlienta INT NOT NULL,
DataZamówienia DATE NULL,
KwotaZamówienia FLOAT NULL)

INSERT INTO Zamówienia (IDZamówienia, IDKlienta, DataZamówienia, KwotaZamówienia)
VALUES (1, 1, '2021-09-01', 10)

INSERT INTO Zamówienia (IDZamówienia, IDKlienta, DataZamówienia, KwotaZamówienia)
VALUES (2, 2, '2021-09-02', 12.5)

INSERT INTO Zamówienia (IDZamówienia, IDKlienta, DataZamówienia, KwotaZamówienia)
VALUES (3, 2, '2021-09-03', 18)

INSERT INTO Zamówienia (IDZamówienia, IDKlienta, DataZamówienia, KwotaZamówienia)
VALUES (4, 3, '2021-09-15', 20)


-----------------------------------------
-- Tabela Kadry
-- Do tej tabeli odwołuje się rozdział 13
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Kadry')
AND TYPE IN (N'U'))
DROP TABLE Kadry
GO

CREATE TABLE Kadry
(IDPracownika INT NOT NULL,
Pracownik VARCHAR(30) NULL,
IDPrzełożonego INT NULL)

INSERT INTO Kadry (IDPracownika, Pracownik) 
VALUES (1, 'Zuzanna Kowalska')

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (2, 'Luiza Warecka', 1)

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (3, 'Robert Pieczyński', 1)

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (4, 'Sebastian Feldman', 1)

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (5, 'Karolina Białek', 2)

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (6, 'Joanna Borecka', 2)

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (7, 'Juliusz Morawski', 3)

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (8, 'Anna Adamska', 4)

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (9, 'Jacek Śpiewak', 4)

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (10, 'Amelia Wojnacka', 5)


----------------------------------------
-- Tabela Produkty
-- Do tej tabeli odwołuje się rozdział 7
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Produkty')
AND TYPE IN (N'U'))
DROP TABLE Produkty
GO

CREATE TABLE Produkty
(IDProduktu INT NOT NULL,
Opis VARCHAR(30) NULL,
Waga INT NULL)

INSERT INTO Produkty (IDProduktu, Opis)
VALUES (1, 'Drukarka A')

INSERT INTO Produkty (IDProduktu, Opis, Waga)
VALUES (2, 'Drukarka B', 0)

INSERT INTO Produkty (IDProduktu, Opis, Waga)
VALUES (3, 'Monitor C', 7)

INSERT INTO Produkty (IDProduktu, Opis, Waga)
VALUES (4, 'Laptop D', 11)


----------------------------------------
-- Tabela RejestrZamówień
-- Do tej tabeli odwołuje się rozdział 7
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'RejestrZamówień')
AND TYPE IN (N'U'))
DROP TABLE RejestrZamówień
GO

CREATE TABLE RejestrZamówień
(IDZamówienia INT NOT NULL,
Klient VARCHAR(30) NULL,
Województwo VARCHAR (30) NULL,
ZakupionaIlość INT NULL,
CenaZaSztukę FLOAT NULL)

INSERT INTO RejestrZamówień (IDZamówienia, Klient, Województwo, ZakupionaIlość, CenaZaSztukę) 
VALUES (1, 'Andrzej Lipkowski', 'pomorskie', 4, 2.5)

INSERT INTO RejestrZamówień (IDZamówienia, Klient, Województwo, ZakupionaIlość, CenaZaSztukę) 
VALUES (2, 'Karolina Bielska', 'mazowieckie', 10, 1.25)

INSERT INTO RejestrZamówień (IDZamówienia, Klient, Województwo, ZakupionaIlość, CenaZaSztukę) 
VALUES (3, 'Janusz Solecki', 'wielkopolskie', 5, 4)


-----------------------------------------
-- Tabela KlasyfikacjaFilmów
-- Do tej tabeli odwołuje się rozdział 12
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'KlasyfikacjaFilmów')
AND TYPE IN (N'U'))
DROP TABLE KlasyfikacjaFilmów
GO

CREATE TABLE KlasyfikacjaFilmów
(IDKlasyfikacji INT NOT NULL,
Klasyfikacja VARCHAR(10) NULL,
OpisKlasyfikacji VARCHAR(50) NULL)

INSERT INTO KlasyfikacjaFilmów (IDKlasyfikacji, Klasyfikacja, OpisKlasyfikacji) 
VALUES (1, 'G', 'Dozwolony dla wszystkich grup wiekowych')

INSERT INTO KlasyfikacjaFilmów (IDKlasyfikacji, Klasyfikacja, OpisKlasyfikacji) 
VALUES (2, 'PG', 'Wskazany nadzór rodzica/rodziców')

INSERT INTO KlasyfikacjaFilmów (IDKlasyfikacji, Klasyfikacja, OpisKlasyfikacji) 
VALUES (3, 'PG-13', 'Szczególnie wskazany nadzór rodzica/rodziców')

INSERT INTO KlasyfikacjaFilmów (IDKlasyfikacji, Klasyfikacja, OpisKlasyfikacji) 
VALUES (4, 'R', 'Film można obejrzeć jedynie z rodzicami')

INSERT INTO KlasyfikacjaFilmów (IDKlasyfikacji, Klasyfikacja, OpisKlasyfikacji) 
VALUES (5, 'NC-17', 'Film jedynie dla osób powyżej 17. roku życia')


-----------------------------------------------
-- Tabela Zwroty
-- Do tej tabeli odwołują się rozdziały 12 i 13
-----------------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Zwroty')
AND TYPE IN (N'U'))
DROP TABLE Zwroty
GO

CREATE TABLE Zwroty
(IDZwrotu INT NOT NULL,
IDZamówienia INT NULL,
DataZwrotu DATE NULL,
KwotaZwrotu FLOAT NULL)

INSERT INTO Zwroty (IDZwrotu, IDZamówienia, DataZwrotu, KwotaZwrotu) 
VALUES (1, 1, '2021-09-02', 5)

INSERT INTO Zwroty (IDZwrotu, IDZamówienia, DataZwrotu, KwotaZwrotu) 
VALUES (2, 3, '2021-09-18', 18)


-----------------------------------------
-- Tabela PowiązanaTabela
-- Do tej tabeli odwołuje się rozdział 18
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'PowiązanaTabela')
AND TYPE IN (N'U'))
DROP TABLE PowiązanaTabela
GO

CREATE TABLE PowiązanaTabela
(PierwszaKolumna INT NOT NULL PRIMARY KEY)


-----------------------------------------
-- Tabela ZwrotyTowarów
-- Do tej tabeli odwołuje się rozdział 15
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'ZwrotyTowarów')
AND TYPE IN (N'U'))
DROP TABLE ZwrotyTowarów
GO

CREATE TABLE ZwrotyTowarów
(IDZwrotu INT NOT NULL,
IDKlienta INT NOT NULL,
DataZwrotu DATE NULL,
KwotaZwrotu FLOAT NULL)

INSERT INTO ZwrotyTowarów (IDZwrotu, IDKlienta, DataZwrotu, KwotaZwrotu) VALUES
VALUES (1, 1, '2021-09-10', 2)

INSERT INTO ZwrotyTowarów (IDZwrotu, IDKlienta, DataZwrotu, KwotaZwrotu) VALUES
VALUES (2, 2, '2021-09-15', 15)

INSERT INTO ZwrotyTowarów (IDZwrotu, IDKlienta, DataZwrotu, KwotaZwrotu) VALUES
VALUES (3, 3, '2021-09-28', 3)


----------------------------------------------------
-- Tabela Sprzedaż
-- Do tej tabeli odwołują się rozdziały 3, 6 oraz 11
----------------------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Sprzedaż')
AND TYPE IN (N'U'))
DROP TABLE Sprzedaż
GO

CREATE TABLE Sprzedaż
(IDSprzedaży INT NOT NULL,
ImięKlienta VARCHAR(30) NULL,
NazwiskoKlienta VARCHAR(30) NULL,
ZakupionaIlość INT NULL,
CenaZaSztukę FLOAT NULL)

INSERT INTO Sprzedaż (IDSprzedaży, ImięKlienta, NazwiskoKlienta, ZakupionaIlość, CenaZaSztukę)
VALUES (1, 'Andrzej', 'Lipkowski', 4, 2.5)

INSERT INTO Sprzedaż (IDSprzedaży, ImięKlienta, NazwiskoKlienta, ZakupionaIlość, CenaZaSztukę)
VALUES (2, 'Karolina', 'Bielska', 10, 1.25)

INSERT INTO Sprzedaż (IDSprzedaży, ImięKlienta, NazwiskoKlienta, ZakupionaIlość, CenaZaSztukę)
VALUES (3, 'Janusz', 'Solecki', 5, 4)


----------------------------------------
-- Tabela HistoriaSprzedaży
-- Do tej tabeli odwołuje się rozdział 9
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'HistoriaSprzedaży')
AND TYPE IN (N'U'))
DROP TABLE HistoriaSprzedaży
GO

CREATE TABLE HistoriaSprzedaży
(IDHistorii INT NOT NULL,
IDKlienta VARCHAR(30) NULL,
DataSprzedaży Date NULL,
WartośćSprzedaży FLOAT NULL)

INSERT INTO HistoriaSprzedaży (IDHistorii, IDKlienta, DataSprzedaży, WartośćSprzedaży) 
VALUES (1, 100, '2021-12-01', 23)

INSERT INTO HistoriaSprzedaży (IDHistorii, IDKlienta, DataSprzedaży, WartośćSprzedaży) 
VALUES (2, 101, '2021-12-02', 11)

INSERT INTO HistoriaSprzedaży (IDHistorii, IDKlienta, DataSprzedaży, WartośćSprzedaży) 
VALUES (3, 100, '2021-12-05', 81)

INSERT INTO HistoriaSprzedaży (IDHistorii, IDKlienta, DataSprzedaży, WartośćSprzedaży) 
VALUES (4, 101, '2021-12-05', 40)

INSERT INTO HistoriaSprzedaży (IDHistorii, IDKlienta, DataSprzedaży, WartośćSprzedaży) 
VALUES (5, 101, '2021-12-06', 33)


----------------------------------------
-- Tabela Sprzedawcy
-- Do tej tabeli odwołuje się rozdział 5
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Sprzedawcy')
AND TYPE IN (N'U'))
DROP TABLE Sprzedawcy
GO

CREATE TABLE Sprzedawcy
(IDSprzedawcy INT NOT NULL,
ImięSprzedawcy VARCHAR(30) NULL,
NazwiskoSprzedawcy VARCHAR(30) NULL)

INSERT INTO Sprzedawcy (IDSprzedawcy, ImięSprzedawcy, NazwiskoSprzedawcy)
VALUES (1, 'Grzegorz', 'Dubiel')

INSERT INTO Sprzedawcy (IDSprzedawcy, ImięSprzedawcy, NazwiskoSprzedawcy)
VALUES (2, 'Karolina', 'Dubiel')

INSERT INTO Sprzedawcy (IDSprzedawcy, ImięSprzedawcy, NazwiskoSprzedawcy)
VALUES (3, 'Natalia', 'Lipska')

INSERT INTO Sprzedawcy (IDSprzedawcy, ImięSprzedawcy, NazwiskoSprzedawcy)
VALUES (4, 'Justyna', 'Kowalska')


-----------------------------------------------
-- Tabela ZestawienieSprzedaży
-- Do tej tabeli odwołują się rozdziały 10 i 20
-----------------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'ZestawienieSprzedaży')
AND TYPE IN (N'U'))
DROP TABLE ZestawienieSprzedaży
GO

CREATE TABLE ZestawienieSprzedaży
(DataSprzedaży DATE NULL,
IDKlienta INT NULL,
Województwo VARCHAR(10) NULL,
KanałSprzedaży VARCHAR(30) NULL,
KwotaSprzedaży INT NULL)

INSERT INTO ZestawienieSprzedaży (DataSprzedaży, IDKlienta, Województwo, KanałSprzedaży, KwotaSprzedaży) 
VALUES ('2017-04-01', 101, 'MAZ', 'Internet', 50)

INSERT INTO ZestawienieSprzedaży (DataSprzedaży, IDKlienta, Województwo, KanałSprzedaży, KwotaSprzedaży) 
VALUES ('2017-04-01', 102, 'MAZ', 'PunktSprzedażyDetalicznej', 30)

INSERT INTO ZestawienieSprzedaży (DataSprzedaży, IDKlienta, Województwo, KanałSprzedaży, KwotaSprzedaży) 
VALUES ('2017-04-01', 103, 'PDL', 'Internet', 120)

INSERT INTO ZestawienieSprzedaży (DataSprzedaży, IDKlienta, Województwo, KanałSprzedaży, KwotaSprzedaży) 
VALUES ('2017-04-02', 145, 'PDL', 'PunktSprzedażyDetalicznej', 90)

INSERT INTO ZestawienieSprzedaży (DataSprzedaży, IDKlienta, Województwo, KanałSprzedaży, KwotaSprzedaży) 
VALUES ('2017-04-02', 180, 'MAZ', 'PunktSprzedażyDetalicznej', 300)

INSERT INTO ZestawienieSprzedaży (DataSprzedaży, IDKlienta, Województwo, KanałSprzedaży, KwotaSprzedaży) 
VALUES ('2017-04-02', 181, 'PDL', 'Internet', 130)

INSERT INTO ZestawienieSprzedaży (DataSprzedaży, IDKlienta, Województwo, KanałSprzedaży, KwotaSprzedaży) 
VALUES ('2017-04-02', 182, 'MAZ', 'Internet', 520)

INSERT INTO ZestawienieSprzedaży (DataSprzedaży, IDKlienta, Województwo, KanałSprzedaży, KwotaSprzedaży) 
VALUES ('2017-04-02', 184, 'MAZ', 'PunktSprzedażyDetalicznej', 80)


-----------------------------------------
-- TabelaPomocnicza
-- Do tej tabeli odwołuje się rozdział 18
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'TabelaPomocnicza')
AND TYPE IN (N'U'))
DROP TABLE TabelaPomocnicza
GO
 
CREATE TABLE TabelaPomocnicza
(IDPomocniczy  INT NULL)

-- Poniższa instrukcja INSERT umieszcza w tabeli 1000 wierszy przy użyciu złączenia CROSS JOIN

INSERT into TabelaPomocnicza (IDPomocniczy)
SELECT A.x * 100 + B.x * 10 + C.x AS y FROM
(SELECT 0 AS x UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 
UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS A
CROSS JOIN
(SELECT 0 AS x UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 
UNION SELECT 5 UNION select 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS B
CROSS JOIN
(SELECT 0 AS x UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 
UNION SELECT 5 UNION select 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS C


-----------------------------------------
-- Tabela RozmiaryKoszulek
-- Do tej tabeli odwołuje się rozdział 12
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'RozmiaryKoszulek')
AND TYPE IN (N'U'))
DROP TABLE RozmiaryKoszulek
GO

CREATE TABLE RozmiaryKoszulek
(IDRozmiaru INT NOT NULL,
Rozmiar VARCHAR(10) NULL)

INSERT INTO RozmiaryKoszulek (IDRozmiaru, Rozmiar) 
VALUES (1, 'Mały')

INSERT INTO RozmiaryKoszulek (IDRozmiaru, Rozmiar) 
VALUES (2, 'Średni')

INSERT INTO RozmiaryKoszulek (IDRozmiaru, Rozmiar) 
VALUES (3, 'Duży')


----------------------------------------
-- Tabela Utwory
-- Do tej tabeli odwołuje się rozdział 9
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Utwory ')
AND TYPE IN (N'U'))
DROP TABLE Utwory 
GO

CREATE TABLE Utwory 
(IDUtworu INT NOT NULL,
Wykonawca VARCHAR(30) NULL,
Album VARCHAR(30) NULL,
Tytuł VARCHAR(30) NULL)

INSERT INTO Utwory (IDUtworu, Wykonawca, Album, Tytuł)
VALUES (1, 'The Beatles', 'Let It Be', 'Across the Universe')

INSERT INTO Utwory (IDUtworu, Wykonawca, Album, Tytuł)
VALUES (2, 'The Beatles', 'Let It Be', 'Get Back')

INSERT INTO Utwory (IDUtworu, Wykonawca, Album, Tytuł)
VALUES (3, 'The Beatles', 'Abbey Road', 'Here Comes the Sun')

INSERT INTO Utwory (IDUtworu, Wykonawca, Album, Tytuł)
VALUES (4, 'Stevie Wonder', 'Innervisions', 'Living for the City')

INSERT INTO Utwory (IDUtworu, Wykonawca, Album, Tytuł)
VALUES (5, 'Stevie Wonder', 'Songs in the Key of Life', 'Isn''t She Lovely')

INSERT INTO Utwory (IDUtworu, Wykonawca, Album, Tytuł)
VALUES (6, 'Paul McCartney', 'Band on the Run', 'Let Me Roll It')


-----------------------------------------
-- Tabela KluczoweDaty
-- Do tej tabeli odwołuje się rozdział 12
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'KluczoweDaty')
AND TYPE IN (N'U'))
DROP TABLE KluczoweDaty
GO

CREATE TABLE KluczoweDaty
(OstatniaDataPrzetwarzania DATE NULL,
BieżącyRokPodatkowy INT NULL,
BieżącyKwartałPodatkowy VARCHAR(10) NULL)

INSERT INTO KluczoweDaty (OstatniaDataPrzetwarzania, BieżącyRokPodatkowy, BieżącyKwartałPodatkowy) 
VALUES ('2021-09-15', 2021, 'Q3')


----------------------------------------
-- Tabela Akcje
-- Do tej tabeli odwołuje się rozdział 9
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Akcje')
AND TYPE IN (N'U'))
DROP TABLE Akcje
GO

CREATE TABLE Akcje
(Skrót VARCHAR(10) NOT NULL,
NazwaFirmy VARCHAR(30) NULL,
NazwaGiełdy VARCHAR(10) NULL,
StosunekCenyDoZysku INT NULL)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('AAPL', 'Apple Inc', 'NASDAQ', 36)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('AMZN', 'Amazon.com Inc', 'NASDAQ', 80)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('BAC', 'Bank of America Corporation', 'NYSE', 17)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('GE', 'General Electric Company', 'NYSE', 23)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('GOOG', 'Alphabet Inc', 'NASDAQ', 40)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('HSY', 'The Hershey Company', 'NYSE', 27)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('KO', 'The Coca-Cola Company', 'NYSE', 33)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('MCD', 'McDonalds Corporation', 'NYSE', 36)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('MMM', '3M Company', 'NYSE', 22)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('MSFT', 'Microsoft Corporation', 'NASDAQ', 39)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('NFLX', 'Netflix Inc', 'NASDAQ', 61)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('ORCL', 'Oracle Corporation', 'NASDAQ', 18)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('SBUX', 'Starbucks Corporation', 'NASDAQ', 205)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('TGT', 'Target Corporation', 'NYSE', 22)

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('WMT', 'Wal-Mart Inc', 'NYSE', 30)


----------------------------------------
-- Tabela SortowanieDanych
-- Do tej tabeli odwołuje się rozdział 5
----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'SortowanieDanych')
AND TYPE IN (N'U'))
DROP TABLE SortowanieDanych
GO

CREATE TABLE SortowanieDanych
(IDTabeli INT NOT NULL,
DaneZnakowe VARCHAR(30) NULL,
DaneLiczbowe INT NULL)

INSERT INTO SortowanieDanych (IDTabeli, DaneZnakowe, DaneLiczbowe)
VALUES (1, '23', 23)

INSERT INTO SortowanieDanych (IDTabeli, DaneZnakowe, DaneLiczbowe)
VALUES (2, '5', 5)

INSERT INTO SortowanieDanych (IDTabeli, DaneZnakowe)
VALUES (3, 'Pies')

INSERT INTO SortowanieDanych (IDTabeli, DaneLiczbowe)
VALUES (4, -6)


-----------------------------------------
-- Tabela Transakcje
-- Do tej tabeli odwołuje się rozdział 14
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Transakcje')
AND TYPE IN (N'U'))
DROP TABLE Transakcje
GO

CREATE TABLE Transakcje
(IDTransakcji INT NOT NULL,
UserID INT NULL,
DataTransakcji DATE NULL,
KwotaTransakcji FLOAT NULL,
SposóbZapłaty VARCHAR(10) NULL)

INSERT INTO Transakcje (IDTransakcji, UserID, DataTransakcji, KwotaTransakcji, SposóbZapłaty)
VALUES (1, 1, '2021-10-11', 22.5, 'Gotówka')

INSERT INTO Transakcje (IDTransakcji, UserID, DataTransakcji, KwotaTransakcji, SposóbZapłaty)
VALUES (2, 2, '2021-10-12', 11.5, 'Karta kredytowa')

INSERT INTO Transakcje (IDTransakcji, UserID, DataTransakcji, KwotaTransakcji, SposóbZapłaty)
VALUES (3, 2, '2021-10-15', 5, 'Karta kredytowa')

INSERT INTO Transakcje (IDTransakcji, UserID, DataTransakcji, KwotaTransakcji, SposóbZapłaty)
VALUES (4, 2, '2021-10-16', 6, 'Gotówka')

INSERT INTO Transakcje (IDTransakcji, UserID, DataTransakcji, KwotaTransakcji, SposóbZapłaty)
VALUES (5, 3, '2021-10-16', 7, 'Karta kredytowa')

INSERT INTO Transakcje (IDTransakcji, UserID, DataTransakcji, KwotaTransakcji, SposóbZapłaty)
VALUES (6, 3, '2021-10-17', 11, 'Karta kredytowa')


-----------------------------------------
-- Tabela Użytkownicy
-- Do tej tabeli odwołuje się rozdział 14
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Użytkownicy')
AND TYPE IN (N'U'))
DROP TABLE Użytkownicy
GO

CREATE TABLE Użytkownicy
(IDUżytkownika INT NOT NULL,
NazwaUżytkownika VARCHAR(30) NULL)

INSERT INTO Użytkownicy (IDUżytkownika, NazwaUżytkownika)
VALUES (1, 'Cecylia Romanowska')

INSERT INTO Użytkownicy (IDUżytkownika, NazwaUżytkownika)
VALUES (2, 'Elżbieta Borecka')

INSERT INTO Użytkownicy (IDUżytkownika, NazwaUżytkownika)
VALUES (3, 'Romuald Gawliński')

INSERT INTO Użytkownicy (IDUżytkownika, NazwaUżytkownika)
VALUES (4, 'Anna Wodecka')


-----------------------------------------
-- Tabela Dostawcy
-- Do tej tabeli odwołuje się rozdział 17
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'Dostawcy')
AND TYPE IN (N'U'))
DROP TABLE Dostawcy
GO

CREATE TABLE Dostawcy
(IDDostawcy INT NOT NULL,
Województwo VARCHAR(10) NULL,
KodPocztowy VARCHAR(10) NULL)

INSERT INTO Dostawcy (IDDostawcy, Województwo, KodPocztowy) 
VALUES (1, 'POM', '77-131')

INSERT INTO Dostawcy (IDDostawcy, Województwo, KodPocztowy) 
VALUES (2, 'LBL', '21-515')

INSERT INTO Dostawcy (IDDostawcy, Województwo, KodPocztowy) 
VALUES (3, 'MAZ', '09-166')

INSERT INTO Dostawcy (IDDostawcy, Województwo, KodPocztowy) 
VALUES (4, 'PKR', '36-221')

INSERT INTO Dostawcy (IDDostawcy, Województwo, KodPocztowy) 
VALUES (5, 'ŁDZ', '97-407')


-----------------------------------------
-- Tabela ZmianaDanychDostawców
-- Do tej tabeli odwołuje się rozdział 17
-----------------------------------------


IF EXISTS
(SELECT * FROM sys.objects
WHERE OBJECT_ID = OBJECT_ID (N'ZmianaDanychDostawców')
AND TYPE IN (N'U'))
DROP TABLE ZmianaDanychDostawców
GO

CREATE TABLE ZmianaDanychDostawców
(IDZmiany INT NOT NULL,
IDDostawcy INT NULL,
Województwo VARCHAR(10) NULL,
KodPocztowy VARCHAR(10) NULL)

INSERT INTO ZmianaDanychDostawców (IDZmiany, IDDostawcy, Województwo, KodPocztowy) 
VALUES (1, 1, 'POM', '77-121')

INSERT INTO ZmianaDanychDostawców (IDZmiany, IDDostawcy, Województwo, KodPocztowy) 
VALUES (2, 2, 'LBL', '21-516')

INSERT INTO ZmianaDanychDostawców (IDZmiany, IDDostawcy, Województwo, KodPocztowy) 
VALUES (3, 5, 'ZPM', '72-427')


